package com.obligatorio.ejb;

import java.util.List;

import javax.ejb.EJB;
import javax.ejb.Stateless;

import com.obligatorio.domain.Contactos;
import com.obligatorio.domain.Estados;
import com.obligatorio.domain.Usuario;
import com.obligatorio.persist.dao.ContactoDAOLocal;

@Stateless
public class ManejadorContactosBean implements ManejadorContactos {

	@EJB
	ContactoDAOLocal contactoDAO;

	@Override
	public List<Contactos> ObtenerTodoLosContactos(Usuario user)
			throws Exception {
		   return contactoDAO.ObtenerTodoLosContactos(user);
	}

	@Override
	public boolean agregarContacto(Usuario user, Usuario contacto, String cod)
			throws Exception {
		Boolean res = false;

		Contactos con = new Contactos();
		con.setUsuarioSolicitante(user);
		con.setUsuarioInvitado(contacto);
		con.setEstado(Estados.ESPERA_ACTIVACION);
		con.setCode(cod);

		if (contactoDAO.altaContacto(con)) {
			res = true;
		}

		return res;
	}
	
	
	@Override
	public boolean eliminarContacto(Usuario user, Usuario contacto)
			throws Exception {
		Boolean res = false;

		Contactos con = new Contactos();
		con.setUsuarioSolicitante(user);
		con.setUsuarioInvitado(contacto);
		con.setEstado(Estados.INACTIVO);

		if (contactoDAO.eliminarContacto(con)) {
			res = true;
		}

		return res;
	}
	
	

	@Override
	public boolean confirmarContacto(String cod, Usuario user) throws Exception {
		Boolean res = false;
		Contactos con = contactoDAO.buscarContacto(cod, user);
		con.setEstado(Estados.ACTIVO);
		if (contactoDAO.confirmarContacto(con)) {
			res = true;
		}
		return res;
	}

	@Override
	public boolean rechazarContacto(String cod, Usuario user) throws Exception {
		// TODO Auto-generated method stub
		return false;
	}

}
